package com.biyao.service.model.base.imp;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import java.util.HashMap;
import java.util.Map;

import com.biyao.schedulingdao.base.TRollerMaterialMapper;
import com.biyao.schedulingentity.base.TRollerBasicEntity;
import com.biyao.schedulingentity.base.TRollerMaterialEntity;
import com.biyao.service.model.base.TRollerMaterialMessage;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.ArrayList;
/**
 * 
 *
 * @author code generator
 * @date 2019-09-16 09:44:10
 */
@Service
public class TRollerMaterialService extends ServiceImpl<TRollerMaterialMapper, TRollerMaterialEntity> implements TRollerMaterialMessage {

    public Page list(int pageNum, int pageSize){

        EntityWrapper<TRollerMaterialEntity> tRollerMaterialentityWrapper=new EntityWrapper<>();
        Page page=selectPage(new Page(pageNum,pageSize),tRollerMaterialentityWrapper);
        page.setRecords(formatRecords(page.getRecords()));
        return page;
    }

    List formatRecords(List<TRollerMaterialEntity> list){
        List resList=new ArrayList();
        for(TRollerMaterialEntity tRollerMaterialEntity:list){
            Map map=formatEntity(tRollerMaterialEntity);
            resList.add(map);
        }
        return resList;
    }

    Map formatEntity(TRollerMaterialEntity tRollerMaterialEntity){
        Map map=new HashMap(16);
        //轧辊材质表
        if(tRollerMaterialEntity.getId()!=null){
           map.put("id",tRollerMaterialEntity.getId());
        }
        //材质名称
        if(tRollerMaterialEntity.getName()!=null){
           map.put("name",tRollerMaterialEntity.getName());
        }
        //代号
        if(tRollerMaterialEntity.getCode()!=null){
           map.put("code",tRollerMaterialEntity.getCode());
        }
        //备注
        if(tRollerMaterialEntity.getRemark()!=null){
           map.put("remark",tRollerMaterialEntity.getRemark());
        }
        //
        if(tRollerMaterialEntity.getCreateTime()!=null){
           map.put("createTime",tRollerMaterialEntity.getCreateTime());
        }
        //
        if(tRollerMaterialEntity.getUpdateTime()!=null){
           map.put("updateTime",tRollerMaterialEntity.getUpdateTime());
        }
        //
        if(tRollerMaterialEntity.getCreateBy()!=null){
           map.put("createBy",tRollerMaterialEntity.getCreateBy());
        }
        //
        if(tRollerMaterialEntity.getUpdateBy()!=null){
           map.put("updateBy",tRollerMaterialEntity.getUpdateBy());
        }
        return map;
    }

    @Override
    public TRollerMaterialEntity selectRollerMaterialEntityById(Integer id) {
        if(id!=null){
            return  selectById(id);
        }
        return null;
    }

    public Boolean selectCodeIsRepeat(String code) {
        EntityWrapper<TRollerMaterialEntity> tRollerMaterialEntityEntityWrapper=new EntityWrapper<>();
        tRollerMaterialEntityEntityWrapper.eq("code",code);
        List<TRollerMaterialEntity> list=selectList(tRollerMaterialEntityEntityWrapper);
        if(list.size()>0){
            return true;
        }
        return false;
    }

    public Boolean selectUpdateCodeIsRepeat(String code,Integer id) {
        EntityWrapper<TRollerMaterialEntity> tRollerMaterialEntityEntityWrapper=new EntityWrapper<>();
        tRollerMaterialEntityEntityWrapper.eq("code",code);
        List<TRollerMaterialEntity> list=selectList(tRollerMaterialEntityEntityWrapper);
        if(list.size()>0){
            if(list.get(0).getId().intValue()!=id.intValue()){
                return true;
            }
            return false;
        }
        return false;
    }
}

